home *** CD-ROM | disk | FTP | other *** search
/ Clinton - Portrait of Victory / PORTRAIT OF VICTORY.BIN / cltpc256 / eagle31.txt < prev    next >
Text File  |  1992-12-28  |  10KB  |  551 lines

  1. ; The Primaries main menu
  2. start31:
  3. pload ehpri 1
  4. putup 0 415 p1
  5. pfree 1
  6. pload pritp 1
  7. putup 33 107 p1
  8. pfree 1
  9. pload ebcams 1
  10. putup 128 31 p1
  11. pfree 1
  12. if @tnum<>0
  13.   pload ebnav 1
  14.   putup 0 0 p1
  15.   pfree 1
  16. endif
  17. menu31:
  18. set gonum 31
  19. mn31:
  20. waitkey
  21. getkey k
  22. if @k==1
  23.   set num 1
  24.   goto menu311
  25. else
  26.   if @k==2
  27.     set title "ehpa01"
  28.     set tnum 80
  29.     set first 1
  30.     set last 80
  31.     set back "eagle31"
  32.     link eagle41
  33.   else
  34.     if @k==3
  35.       xbkg
  36.       set num 1
  37.       goto menu312
  38.     else
  39.       if @k==chr(104)||@k==chr(72)
  40.         goto help
  41.       else
  42.         if @k==chr(112)||@k==chr(80)
  43.           xbkg2
  44.           link eagle3 menubk
  45.         else
  46.           if @k==chr(101)||@k==chr(69)
  47.             xbkg
  48.             pload edexit 1
  49.             putup 190 200 p1
  50.             pfree 1
  51.             mn31b:
  52.             waitkey
  53.             getkey k
  54.             if @k==chr(13)
  55.               exit
  56.             else
  57.               if @k==chr(27)
  58.                 xbkg
  59.                 pload pritp 1
  60.                 putup 33 107 p1
  61.                 pfree 1
  62.                 goto menu31
  63.               else
  64.                 goto mn31b
  65.               endif
  66.             endif
  67.           else
  68.             goto mn31
  69.           endif
  70.         endif
  71.       endif
  72.     endif
  73.   endif
  74. endif
  75.  
  76. ; Photo and Audio Introduction selection display
  77. menu311:
  78. set gonum 311
  79. set abort on
  80. mn311:
  81. pload menum 1
  82. pfade 0 1
  83. pfree 1
  84. pload prip$@num 1
  85. set px (639-p1->xsize)/2
  86. set py 67+((355-p1->ysize)/2)
  87. putup @px @py p1
  88. pfree 1
  89.   set m ""
  90.   if @num==1
  91.     cdplay 7 12
  92.     timer
  93.     waitkey 1200
  94.   endif
  95.   if @num==2
  96.     cdplay 8 15
  97.     timer
  98.     waitkey 1500
  99.   endif
  100.   if @num==3
  101.     cdplay 9 11
  102.     timer
  103.     waitkey 1100
  104.   endif
  105.   if @num==4
  106.     cdplay 10 6
  107.     timer
  108.     waitkey 600
  109.   endif
  110.   if @num==5
  111.     cdplay 11 10
  112.     timer
  113.     waitkey 1000
  114.   endif
  115.   if @num==6
  116.     cdplay 12 15
  117.     timer
  118.     waitkey 1500
  119.   endif
  120.   getkey m
  121.   xstop
  122.   cdstop
  123. if @num==6
  124.   pload ebkg 1
  125.   pfade 9 1
  126.   pfree 1
  127.   set tnum 1
  128.   set abort off
  129.   goto start31
  130. else
  131.   set num @num+1
  132.   goto mn311
  133. endif
  134.  
  135. ; Milestones text selection display
  136. menu312:
  137. set gonum 312
  138. mn312:
  139. color 0
  140. rect 40 95 600 405
  141. color 10
  142. fload times15 1
  143. fgaps 1 5 3
  144. set buf readfile(primt$@num$.doc)
  145. window 60 95 580 390
  146. text @@buf
  147. . farfree(@buf)
  148. window
  149. set center on
  150. ffree 1
  151. fload ibm8 1
  152. text 0 115 "Page "$@num$" of 9"
  153. text 0 105 "Press <PGUP> for next or <PGDN> for prior."
  154. set center off
  155. ffree 1
  156. mn312b:
  157. waitkey
  158. getkey k
  159. if @k==1
  160.   set num 1
  161.   goto menu311
  162. else
  163.   if @k==2
  164.     set title "ehpa01"
  165.     set tnum 80
  166.     set first 1
  167.     set last 80
  168.     set back "eagle31"
  169.     link eagle41
  170.   else
  171.     if @k==chr(104)||@k==chr(72)
  172.       goto help
  173.     else
  174.       if @k==chr(112)||@k==chr(80)
  175.         xbkg2
  176.         link eagle3 menubk
  177.       else
  178.         if @k==chr(101)||@k==chr(69)
  179.           xbkg
  180.           pload edexit 1
  181.           putup 190 200 p1
  182.           pfree 1
  183.           mn312c:
  184.           waitkey
  185.           getkey k
  186.           if @k==chr(13)
  187.             exit
  188.           else
  189.             if @k==chr(27)
  190.               xbkg
  191.               goto mn312
  192.             else
  193.               goto mn312c
  194.             endif
  195.           endif
  196.         else
  197.           if @k==chr(73)$chr(1)||@k==chr(72)$chr(1)
  198.             if @num==9
  199.               set num 1
  200.               goto mn312
  201.             else
  202.               set num @num+1
  203.               goto mn312
  204.             endif
  205.           else
  206.             if @k==chr(81)$chr(1)||@k==chr(80)$chr(1)
  207.               if @num==1
  208.                 set num 9
  209.                 goto mn312
  210.               else
  211.                 set num @num-1
  212.                 goto mn312
  213.               endif
  214.             else
  215.               goto mn312b
  216.             endif
  217.           endif
  218.         endif
  219.       endif
  220.     endif
  221.   endif
  222. endif
  223.  
  224. help:
  225. pload apatch 1
  226. putup 0 0 p1
  227. pfree 1
  228. pload eclbb 1
  229. putup 0 29 p1
  230. pfree 1
  231. xbkg
  232. pload edhelp 1
  233. putup 31 74 p1
  234. pfree 1
  235. fload ibm8 1
  236. fgaps 1 4 2
  237. set buf readfile(primhlp.doc)
  238. window 65 345 575 100
  239. color 1
  240. text @@buf
  241. . farfree(@buf)
  242. window
  243. ffree 1
  244. hlp1:
  245. waitkey
  246. getkey k
  247. if @k==chr(13)
  248.   if @gonum==31
  249.     xbkg
  250.     pload pritp 1
  251.     putup 33 107 p1
  252.     pfree 1
  253.     pload ebcams 1
  254.     putup 128 31 p1
  255.     pfree 1
  256.     pload ebnav 1
  257.     putup 0 0 p1
  258.     pfree 1
  259.     goto menu31
  260.   else
  261.     xbkg
  262.     pload ebcams 1
  263.     putup 128 31 p1
  264.     pfree 1
  265.     pload ebnav 1
  266.     putup 0 0 p1
  267.     pfree 1
  268.     goto menu$@gonum
  269.   endif
  270. else
  271.   goto hlp1
  272. endif
  273.  
  274. xbkg:
  275. pload ebkgx 1
  276. putup 0 67 p1
  277. pfree 1
  278. return
  279.  
  280. xbkg2:
  281. pload eclbb 1
  282. putup 0 29 p1
  283. pfree 1
  284. pload ebkgx 1
  285. putup 0 67 p1
  286. pfree 1
  287. pload eclhx 1
  288. putup 0 412 p1
  289. pfree 1
  290. return
  291.  
  292. xStop:
  293. if len(@m)
  294.         cdstop
  295.     pload ebkg 1
  296.     pfade 0 1
  297.     pfree 1    
  298.         set tnum 1
  299.         set abort off
  300.     pop start31
  301. else
  302.     return
  303. endif
  304.  
  305. ;
  306. ;    CDINIT
  307. ;
  308. ;    Check for CD-ROM driver and setup @drive
  309. ;
  310. cdinit:
  311.     int 0x2f 0x1500,0
  312.     if @bx
  313.         global drive chr(@cx+asc("A"))
  314.     else
  315.         global drive ""
  316.     endif
  317.     return
  318.  
  319. cdplay:
  320.     cdtrack    @1 @3 @4 @5
  321.     cdcmd    132,@0,@2*75
  322.     cdcheck    @0,cdplay
  323.     return
  324.  
  325. ;
  326. ;    CDPLAYTO TRACK MINUTES SECONDS FRAMES TRACK MINUTES SECONDS FRAMES
  327. ;
  328. ;
  329. cdplayto:
  330.     cdtrack    @1 @2 @3 @4
  331.     local    begin @0
  332.     cdtrack    @5 @6 @7 @8
  333.     local    end @0
  334.     cdcmd    132,@begin,@end-@begin
  335.     cdcheck    @0,cdplayto
  336.     return
  337.  
  338. ;
  339. ;    CDSTOP
  340. ;
  341. ;    Stop playing immediately
  342. ;
  343. cdstop:
  344.     cdcmd    133,0,0
  345.     cdcheck    @0,cdstop
  346.     return
  347.  
  348. ;
  349. ;    CDRESUME
  350. ;
  351. ;    Resume playing from where we issued a CDSTOP
  352. ;
  353. cdresume:
  354.     cdcmd    136,0,0
  355.     cdcheck    @0,cdresume
  356.     return
  357.  
  358. ;
  359. ;    CDSEEK TRACK {MINUTES SECONDS FRAMES}
  360. ;
  361. ;    Seek the CD player head to a track to minimize play startup time.
  362. ;    Parameters are the same as CDPLAY.
  363. ;
  364. cdseek:
  365.     cdtrack @1 @2 @3 @4
  366.     cdcmd 131,@0,0
  367.     cdcheck    @0,cdseek
  368.     return
  369.  
  370. ;
  371. ;    CDEJECT
  372. ;
  373. ;    Open the CD drive's tray/door
  374. ;
  375. cdeject:
  376.     local    buf ofs("1")
  377.     local    bseg seg(@buf);
  378.     poke    @bseg @buf 0                ;Eject Disk
  379.     cdcmd    12,@buf|(@bseg<<16),1            ;WRITE IOCTL Output
  380.     cdcheck    @0,cdeject
  381.     return
  382.  
  383. ;
  384. ;    CDCLOSE
  385. ;
  386. ;    Close the CD drive's tray/door
  387. ;
  388. cdclose:
  389.     local    buf ofs("1")
  390.     local    bseg seg(@buf);
  391.     poke    @bseg @buf 5                ;Close Tray
  392.     cdcmd    12,@buf|(@bseg<<16),1            ;WRITE IOCTL Output
  393.     cdcheck    @0,cdclose
  394.     return
  395.  
  396.  
  397. ;
  398. ;    CDSTATUS
  399. ;
  400. ;    Return CD Drive status and setup global variables @first and @last
  401. ;
  402. cdstatus:
  403.     local    buf ofs("123456")
  404.     local    bseg seg(@buf);
  405.     poke    @bseg @buf 10                ;Audio Disk Info
  406.     cdcmd    3,@buf|(@bseg<<16),6            ;READ IOCTL Input
  407.     cdcheck    @0,cdstatus
  408.     global    first peek(@bseg,@buf+1)+0
  409.     global    last  peek(@bseg,@buf+2)+0
  410.     poke    @bseg @buf 6                ;Device status
  411.     cdcmd    3,@buf|(@bseg<<16),5            ;READ IOCTL Input
  412.     cdcheck    @0,cdstatus
  413.     return    peekl(@bseg,@buf+1)
  414.  
  415. ;
  416. ;    CDTRACK TRACK MINUTES SECONDS FRAMES
  417. ;
  418. ;    Return the absolute sector number of a track
  419. ;
  420. cdtrack:
  421.     local    buf ofs("1234567")
  422.     local    bseg seg(@buf);
  423.     poke    @bseg @buf 11                ;Get Audio Track Info
  424.     poke    @bseg @buf+1 @1             ;track number
  425.     cdcmd    3,@buf|(@bseg<<16),7            ;READ IOCTL Input
  426.     cdcheck    @0,cdtrack
  427.     return    peekl(@bseg,@buf+2)+(@2*60+@3)*75+@4    ;return track address
  428.  
  429.  
  430. cdcmd:
  431.     local req ofs("12345678901234567890123456")
  432.     local rseg seg(@req)
  433.     poke  @rseg @req 13                ;param length
  434.     poke  @rseg @req+1 0                ;subunit
  435.     poke  @rseg @req+2 @1                ;command code
  436.     pokew @rseg @req+3 0                ;status
  437.     pokel @rseg @req+5 0 0                ;reserved
  438.     poke  @rseg @req+13 1                ;address mode
  439.     pokel @rseg @req+14 @2                ;begin
  440.     pokel @rseg @req+18 @3                ;length
  441.     pokel @rseg @req+22 0                ;reserved
  442.     int 0x2f 0x1510,@req,asc(@drive)-asc("A"),,,,,seg(@req)
  443.     if peek(@rseg,@req+4)&0x80
  444.         databegin
  445.             "Unknown Error"
  446.             "Write-protect violation"
  447.             "Unknown unit"
  448.             "Drive not Ready"
  449.             "Unknown command"
  450.             "CRC error"
  451.             "Bad drive request structure length"
  452.             "Seek Error"
  453.             "Unknown media"
  454.             "Sector not found"
  455.             "Printer out of paper"
  456.             "Write Fault"
  457.             "Read Fault"
  458.             "General failure"
  459.             "Reserved 1"
  460.             "Reserved 2"
  461.             "Invalid disk change"
  462.         dataend
  463.         if peek(@rseg,@req+3)<16
  464.